//
//  BBIndexedVertex.m
//  BBTouch
//
//  Created by ben smith on 8/12/08.
//  This file is part of BBTouch.
//
//  BBTouch is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.

//  BBTouch is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Lesser General Public License for more details.

//  You should have received a copy of the GNU Lesser General Public License
//  along with BBTouch.  If not, see <http://www.gnu.org/licenses/>.
// 
//  Copyright 2008 Ben Britten Smith ben@benbritten.com .
//

#import "BBIndexedVertex.h"


@implementation BBIndexedVertex

@synthesize point;
@synthesize index;

- (id)initWithCoder:(NSCoder *)coder
{
	NSInteger i = [coder decodeIntForKey:@"index"];
	NSPoint p = [coder decodePointForKey:@"point"];
	return [self initWithIndex:i point:p];
}

-(NSString*)description
{
	return [NSString stringWithFormat:@"%@ %d",NSStringFromPoint(point),index];
}

- (void)encodeWithCoder:(NSCoder *)coder
{
	[coder encodeInt:index forKey:@"index"];
	[coder encodePoint:point forKey:@"point"];
	return;	
}

-(NSDictionary*)propertyDictionary
{
	return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:index],@"index",NSStringFromPoint(point),@"point",nil];
}

+(BBIndexedVertex*)vertextWithIndex:(NSInteger)ind point:(NSPoint)p
{
	BBIndexedVertex * newVert = [[BBIndexedVertex alloc] initWithIndex:ind point:p];
	return [newVert autorelease];
}

- (id) initWithIndex:(NSInteger)ind point:(NSPoint)p
{
	self = [super init];
	if (self != nil) {
		self.index = ind;
		self.point = p;
	}
	return self;
}


@end
